Generally, this invention relates to the protection of pre-designed logic to be embedded in electronic devices; such logic is sometimes referred to as “intellectual property” or just IP. More specifically, the invention pertains to protecting IP cores from unauthorized use.
In creating an electronic design, a user may employ one or more reusable IP cores. Generally, IP cores are pre-programmed and pre-verified functional blocks for performing defined tasks in the electronic design. In many cases, IP cores can be implemented on a target hardware device where they define at least a portion of the electronic design. IP cores can also be configurable where a user is allowed to specify one or more parameters appropriate for the electronic design. Furthermore, an electronic design automation (EDA) tool may be used for integrating IP cores into the electronic design.
Since there is a cost (e.g., time and material) associated with the development of IP cores, there is a need to protect IP cores from unauthorized use (e.g., using the IP cores in programmable technology for which it was not intended or licensed). One form of protection involves encryption of the IP cores. By encrypting the IP cores in a manner that only authorized software tools (e.g., specific EDA tools authorized by a vendor of IP cores) can decrypt, a barrier to using other software tools and programmable technology is created. Another form of protection involves licensing of IP cores for implementation in a specific programmable technology. Although each form provides some degree of protection, there is still a need to provide further protection of IP cores.
Therefore, improved techniques and mechanisms for protecting IP cores would be beneficial.